﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class СпецодеждаИСпецоснастка
	{
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПОГАШЕНИЯ СТОИМОСТИ
		// Функция формирует текст запроса по остаткам материалов в эксплуатации.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоОстаткамВЭксплуатацииРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|	ВЫБРАТЬ
	|		РегистрАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
	|		РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
	|		РегистрАналитикаУчетаЗатрат.СерияЗатраты КАК СерияНоменклатуры,
	|		
	|		РегистрАналитикаУчетаПартий.ФизЛицо,
	|		РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|		РегистрАналитикаУчетаПартий.ДокументПередачи,
	|		
	|		РегистрАналитикаУчетаЗатрат.Затрата.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|		РегистрАналитикаУчетаЗатрат.Затрата.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
	|		
	|		0 КАК КоличествоСписано,
	|
	|		//ДляУпрУчета СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоУпр,
	|		//ДляУпрУчета 0 КАК КоличествоБух,
	|		//ДляУпрУчета 0 КАК КоличествоНал,
	|
	|		//ДляБухУчета 0 КАК КоличествоУпр,
	|		//ДляБухУчета СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоБух,
	|		//ДляБухУчета СУММА(УчетЗатрат.КоличествоНУОстаток) КАК КоличествоНал,
	|		
	|		//ДляУпрУчета СУММА(УчетЗатрат.СтоимостьОстаток) КАК Сумма,
	|		//ДляУпрУчета 0 КАК СуммаБух,
	|
	|		//ДляБухУчета 0 КАК Сумма,
	|		//ДляБухУчета СУММА(УчетЗатрат.СтоимостьОстаток) КАК СуммаБух,
	|		
	|		//ДляУпрУчета Неопределено КАК СчетУчета,
	|		//ДляУпрУчета Неопределено КАК СчетУчетаНУ
	|		
	|		//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|		//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчетаНУ
	|		
	|	ИЗ
	|		РегистрНакопления.УчетЗатрат%СуффиксРегл%.Остатки(&КонГраница, 
	|			АналитикаВидаУчета В (
	|				ВЫБРАТЬ
	|					Ссылка
	|				ИЗ
	|					РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|				ГДЕ
	|					(РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МатериалыВЭксплуатации)
	|					ИЛИ РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ПогашеннаяСтоимость))
	|					//ДляУпрУчета И Подразделение = &Подразделение
	|					//ДляРеглУчета И Организация = &Организация
	|					//ДляРеглУчета И ПодразделениеОрганизации = &ПодразделениеОрганизации
	|				)
	|			И АналитикаУчетаПартий В (
	|				ВЫБРАТЬ
	|					Ссылка
	|				ИЗ
	|					РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|				ГДЕ
	|					НазначениеИспользования <> ЗНАЧЕНИЕ(Справочник.НазначенияИспользования.ПустаяСсылка)
	|					//УсловиеПоСроку
	|					//УсловиеДокПередачи
	|					//УсловиеПоМОЛ
	|			)
	|			
	|		) КАК УчетЗатрат
	|		
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ПО
	|			УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|		ПО
	|			УчетЗатрат.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|			
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|		ПО
	|			УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|																					   
	|	СГРУППИРОВАТЬ ПО
	|		РегистрАналитикаУчетаЗатрат.Затрата,
	|		РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты,
	|		РегистрАналитикаУчетаЗатрат.СерияЗатраты,
	|		РегистрАналитикаУчетаПартий.ФизЛицо,
	|		РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|		РегистрАналитикаУчетаПартий.ДокументПередачи,
	|		РегистрАналитикаУчетаЗатрат.Затрата.ЕдиницаХраненияОстатков,
	|		РегистрАналитикаУчетаЗатрат.Затрата.ЕдиницаХраненияОстатков.Коэффициент,
	|		РегистрАналитикаВидаУчета.СчетУчета,
	|		РегистрАналитикаВидаУчета.СчетУчетаНУ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоОстаткамВЭксплуатацииРасширеннаяАналитика()
		// Функция формирует текст запроса по остаткам материалов в эксплуатации.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоОстаткамВЭксплуатации(/**/)
		{
			/*ТекстЗапроса = "
	|	ВЫБРАТЬ
	|		ПартииМатериалов.Номенклатура,
	|		ПартииМатериалов.ХарактеристикаНоменклатуры,
	|		ПартииМатериалов.СерияНоменклатуры,
	|		ПартииМатериалов.ФизЛицо,
	|		ПартииМатериалов.НазначениеИспользования,
	|		ПартииМатериалов.ДокументПередачи,
	|		
	|		ПартииМатериалов.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|		ПартииМатериалов.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
	|		
	|		0 КАК КоличествоСписано,
	|
	|		//ДляУпрУчета ПартииМатериалов.КоличествоОстаток КАК КоличествоУпр,
	|		//ДляУпрУчета 0 КАК КоличествоБух,
	|		//ДляУпрУчета 0 КАК КоличествоНал,
	|
	|		//ДляБухУчета 0 КАК КоличествоУпр,
	|		//ДляБухУчета ПартииМатериалов.КоличествоОстаток КАК КоличествоБух,
	|		//ДляБухУчета 0 КАК КоличествоНал,
	|
	|		//ДляНалУчета 0 КАК КоличествоУпр,
	|		//ДляНалУчета 0 КАК КоличествоБух,
	|		//ДляНалУчета ПартииМатериалов.КоличествоОстаток КАК КоличествоНал,
	|		
	|		//ДляУпрУчета ПартииМатериалов.СтоимостьОстаток - ПартииМатериалов.ПогашеннаяСтоимостьОстаток КАК Сумма,
	|		//ДляУпрУчета 0 КАК СуммаБух,
	|
	|		//ДляБухУчета 0 КАК Сумма,
	|		//ДляБухУчета ПартииМатериалов.СтоимостьОстаток - ПартииМатериалов.ПогашеннаяСтоимостьОстаток КАК СуммаБух,
	|
	|		//ДляНалУчета 0 КАК Сумма,
	|		//ДляНалУчета 0 КАК СуммаБух,
	|		
	|		//ДляУпрУчета Неопределено КАК СчетУчета,
	|		//ДляУпрУчета Неопределено КАК СчетУчетаНУ
	|		
	|		//ДляБухУчета ПартииМатериалов.СчетУчета,
	|		//ДляБухУчета Неопределено КАК СчетУчетаНУ
	|		
	|		//ДляНалУчета ПартииМатериаловБух.СчетУчета,
	|		//ДляНалУчета ПартииМатериалов.СчетУчета КАК СчетУчетаНУ
	|	ИЗ
	|		РегистрНакопления.ПартииМатериаловВЭксплуатации%СуффиксУчета%.Остатки(&КонГраница, 
	|			//ДляУпрУчета Подразделение = &Подразделение
	|			//ДляРеглУчета Подразделение = &ПодразделениеОрганизации
	|			//УсловиеПоСроку
	|			//УсловиеДокПередачи
	|			//УсловиеПоМОЛ
	|		) КАК ПартииМатериалов
	|																					   
	|	//ДляНалУчета ЛЕВОЕ СОЕДИНЕНИЕ
	|	//ДляНалУчета 	РегистрНакопления.ПартииМатериаловВЭксплуатацииБухгалтерскийУчет.Остатки(&КонГраница,
	|	//ДляНалУчета 		Подразделение = &ПодразделениеОрганизации 
	|	//ДляНалУчета 		//УсловиеПоСроку
	|	//ДляНалУчета 		//УсловиеДокПередачи
	|	//ДляНалУчета 		//УсловиеПоМОЛ
	|	//ДляНалУчета 	) КАК ПартииМатериаловБух
	|	//ДляНалУчета ПО
	|	//ДляНалУчета 	ПартииМатериалов.Номенклатура = ПартииМатериаловБух.Номенклатура
	|	//ДляНалУчета 	И ПартииМатериалов.ХарактеристикаНоменклатуры = ПартииМатериаловБух.ХарактеристикаНоменклатуры
	|	//ДляНалУчета 	И ПартииМатериалов.СерияНоменклатуры = ПартииМатериаловБух.СерияНоменклатуры
	|	//ДляНалУчета 	И ПартииМатериалов.ФизЛицо = ПартииМатериаловБух.ФизЛицо
	|	//ДляНалУчета 	И ПартииМатериалов.НазначениеИспользования = ПартииМатериаловБух.НазначениеИспользования
	|	//ДляНалУчета 	И ПартииМатериалов.ДокументПередачи = ПартииМатериаловБух.ДокументПередачи
	|
	|	//ДляНалУчета ЛЕВОЕ СОЕДИНЕНИЕ
	|	//ДляНалУчета 	СоответствиеСчетов КАК Соответствие
	|	//ДляНалУчета ПО
	|	//ДляНалУчета 	ПартииМатериаловБух.СчетУчета = Соответствие.СчетБУ
	|	//ДляНалУчета 	И ПартииМатериалов.СчетУчета = Соответствие.СчетНУ
	|
	|	//ДляНалУчета ГДЕ
	|	//ДляНалУчета 	НЕ Соответствие.СчетБУ ЕСТЬ NULL
    |";*/
			return null;
		}
		// СформироватьТекстЗапросаПоОстаткамВЭксплуатации()
		// Функция формирует текст запроса по остаткам материалов в эксплуатации.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоСписаннымМатериаламИзЭксплуатации(/**/)
		{
			/*ТекстЗапроса = "
	|	ВЫБРАТЬ
	|		СписанныеМатериалы.Номенклатура,
	|		СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|		СписанныеМатериалы.СерияНоменклатуры,
	|		СписанныеМатериалы.ФизЛицо,
	|		СписанныеМатериалы.НазначениеИспользования,
	|		СписанныеМатериалы.ДокументПередачи	,
	|		
	|		СписанныеМатериалы.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|		СписанныеМатериалы.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
	|		
	|		СУММА(СписанныеМатериалы.Количество) КАК КоличествоСписано,
	|		0 КАК КоличествоУпр,
	|		0 КАК КоличествоБух,
	|		0 КАК КоличествоНал,
	|		
	|		0 КАК Сумма,
	|		0 КАК СуммаБух,
	|		
	|		СписанныеМатериалы.СчетУчетаБУ КАК СчетУчета,
	|		СписанныеМатериалы.СчетУчетаНУ КАК СчетУчетаНУ
	|	ИЗ
	|		РегистрСведений.СписанныеМатериалыИзЭксплуатации КАК СписанныеМатериалы
	|
	|	ГДЕ
	|		СписанныеМатериалы.Период МЕЖДУ &НачДата И &КонДата
	|		И СписанныеМатериалы.Подразделение = &Подразделение 
	|		И СписанныеМатериалы.ПодразделениеОрганизации = &ПодразделениеОрганизации
	|
	|	СГРУППИРОВАТЬ ПО
	|		СписанныеМатериалы.Номенклатура,
	|		СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|		СписанныеМатериалы.СерияНоменклатуры,
	|		СписанныеМатериалы.ФизЛицо,
	|		СписанныеМатериалы.НазначениеИспользования,
	|		СписанныеМатериалы.ДокументПередачи,
	|		СписанныеМатериалы.СчетУчетаБУ,
	|		СписанныеМатериалы.СчетУчетаНУ
	|
	|	ОБЪЕДИНИТЬ ВСЕ
	|		
	|	ВЫБРАТЬ
	|		СписанныеМатериалы.Номенклатура,
	|		СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|		СписанныеМатериалы.СерияНоменклатуры,
	|		СписанныеМатериалы.ФизЛицоПолучатель,
	|		СписанныеМатериалы.НазначениеИспользованияПолучатель,
	|		СписанныеМатериалы.ДокументПередачи,
	|		
	|		СписанныеМатериалы.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|		СписанныеМатериалы.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
	|		
	|		СУММА(-СписанныеМатериалы.Количество) КАК КоличествоСписано,
	|		0 КАК КоличествоУпр,
	|		0 КАК КоличествоБух,
	|		0 КАК КоличествоНал,
	|		
	|		0 КАК Сумма,
	|		0 КАК СуммаБух,
	|		
	|		СписанныеМатериалы.СчетУчетаПолучательБУ КАК СчетУчета,
	|		СписанныеМатериалы.СчетУчетаПолучательНУ КАК СчетУчетаНУ
	|	ИЗ
	|		РегистрСведений.СписанныеМатериалыИзЭксплуатации КАК СписанныеМатериалы
	|
	|	ГДЕ
	|		СписанныеМатериалы.Период МЕЖДУ &НачДата И &КонДата
	|		И СписанныеМатериалы.ПодразделениеПолучатель = &Подразделение 
	|		И СписанныеМатериалы.ПодразделениеОрганизацииПолучатель = &ПодразделениеОрганизации
	|
	|	СГРУППИРОВАТЬ ПО
	|		СписанныеМатериалы.Номенклатура,
	|		СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|		СписанныеМатериалы.СерияНоменклатуры,
	|		СписанныеМатериалы.ФизЛицоПолучатель,
	|		СписанныеМатериалы.НазначениеИспользованияПолучатель,
	|		СписанныеМатериалы.ДокументПередачи,
	|		СписанныеМатериалы.СчетУчетаПолучательБУ,
	|		СписанныеМатериалы.СчетУчетаПолучательНУ
	|
	|	ОБЪЕДИНИТЬ ВСЕ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСписаннымМатериаламИзЭксплуатации()
		// Процедура устанавливает параметры запроса по остаткам материалов в эксплуатации.
		//
		// Параметры:
		//	ДокументОбъект - ДокументОбъект - Текущий документ
		//	СтруктураОтбора - Структура - Значения условий отбора остатков
		//	Запрос - Запрос - Запрос по остаткам
		//

		public void УстановитьПараметрыЗапросаПоОстаткамВЭксплуатации(/*
	ДокументОбъект,
	СтруктураОтбора,
	Запрос
	*/)
		{
			//Дата = УправлениеЗатратами.ПолучитьДатуДляЗапроса(ДокументОбъект);
			//Запрос.УстановитьПараметр("НачДата", НачалоМесяца(ДокументОбъект.Дата));
			//Запрос.УстановитьПараметр("КонДата", Дата);
			if(true/*КонецДня(Дата) = КонецМесяца(Дата)*/)
			{
				//Запрос.УстановитьПараметр("КонГраница", Новый Граница(Дата, ВидГраницы.Исключая));
			}
			//Запрос.УстановитьПараметр("Организация", ДокументОбъект.Организация);
			//Запрос.УстановитьПараметр("Подразделение", ДокументОбъект.Подразделение);
			//Запрос.УстановитьПараметр("ПодразделениеОрганизации", ДокументОбъект.ПодразделениеОрганизации);
			if(true/*СтруктураОтбора <> Неопределено*/)
			{
				//ВидОтбора = СтруктураОтбора.ВидОтбора;
				if(true/*ВидОтбора = "ПоДокументуПередачи"*/)
				{
					//Запрос.УстановитьПараметр("ДокПередачи", СтруктураОтбора.ДокументПередачи);
				}
			}
		}
		// УстановитьПараметрыЗапросаПоОстаткамВЭксплуатации()
		// Функция формирует запрос по остаткам материалов в эксплуатации.
		//
		// Параметры:
		//	ДокументОбъект - ДокументОбъект - Текущий документ
		//	СтруктураОтбора - Структура - Значения условий отбора остатков
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по материалам в эксплуатации
		//

		public object СформироватьЗапросПоОстаткамВЭксплуатации(/*
	ДокументОбъект,
	СтруктураОтбора
	*/)
		{
			/*ТекстЗапросаСоответствиеСчетов = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	СоответствиеСчетов.СчетБУ КАК СчетБУ,
	|	СоответствиеСчетов.СчетНУ КАК СчетНУ
	|
	|ПОМЕСТИТЬ СоответствиеСчетов
	|ИЗ
	|	РегистрСведений.СоответствиеСчетовБУиНУ.СрезПоследних(&КонГраница,
	|		СчетНУ В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				СчетУчета КАК СчетУчета
	|			ИЗ
	|				РегистрНакопления.ПартииМатериаловВЭксплуатацииНалоговыйУчет.Остатки(&КонГраница,
	|					Подразделение = &ПодразделениеОрганизации
	|			) КАК ПартииМатериаловВЭксплуатации
	|		)
	|	) КАК СоответствиеСчетов
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|";*/
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи,
	|	
	|	ПартииМатериалов.ЕдиницаИзмерения,
	|	ПартииМатериалов.Коэффициент,
	|	
	|	ПартииМатериалов.СчетУчета КАК СчетУчетаБУ,
	|	ПартииМатериалов.СчетУчетаНУ,
	|	ПартииМатериалов.СчетУчета КАК СчетПередачиБУ,
	|	ПартииМатериалов.СчетУчетаНУ КАК СчетПередачиНУ,
	|	
	|	ПартииМатериалов.КоличествоСписано,
	|	ПартииМатериалов.КоличествоУпр,
	|	ПартииМатериалов.КоличествоБух,
	|	ПартииМатериалов.КоличествоНал,
	|	
	|	ПартииМатериалов.Сумма,
	|	ПартииМатериалов.СуммаБух
	|	
	|ИЗ (
	|
	|	//ТекстЗапросаПоСписаннымМатериаламИзЭксплуатации
	|	//ДляУпрУчета //ТекстЗапросаПоОстаткамВЭксплуатацииУУ
	|	//ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ
	|	//ДляБухУчета //ТекстЗапросаПоОстаткамВЭксплуатацииБУ
	|	//ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ
	|	//ДляНалУчета //ТекстЗапросаПоОстаткамВЭксплуатацииНУ
	|	) КАК ПартииМатериалов
	|
	|ГДЕ
	|	Истина
	|	//УсловиеПоСроку
	|	//УсловиеДокПередачи
	|	//УсловиеПоМОЛ
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи,
	|	ПартииМатериалов.СчетУчета,
	|	ПартииМатериалов.СчетУчетаНУ
	|
	|ИТОГИ 
	|	СУММА(КоличествоСписано),
	|	СУММА(КоличествоУпр),
	|	СУММА(КоличествоБух),
	|	СУММА(КоличествоНал),
	|	СУММА(Сумма),
	|	СУММА(СуммаБух)
	|ПО
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ЕдиницаИзмерения,
	|	ПартииМатериалов.Коэффициент,
	|	ПартииМатериалов.ДокументПередачи,
	|	ПартииМатериалов.СчетУчета
	|";*/
			/*ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") 
		И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= ДокументОбъект.Дата);*/
			if(true/*ИспользоватьРасширеннуюАналитику*/)
			{
				//РежимИспользованияРасширеннойАналитики = глЗначениеПеременной("РежимИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат");
				if(true/*РежимИспользованияРасширеннойАналитики = Перечисления.РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет
		   И ДокументОбъект.ОтражатьВУправленческомУчете*/)
				{
					//ИспользоватьДанныеУправленческогоУчета = Истина;
					//ИспользоватьДанныеБухгалтерскогоУчета  = Ложь;
				}
				//ИспользоватьДанныеНалоговогоУчета = Ложь;
			}
			if(true/*ИспользоватьДанныеУправленческогоУчета*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляУпрУчета", "");
			}
			if(true/*ИспользоватьДанныеБухгалтерскогоУчета*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляБухУчета", "");
			}
			if(true/*ИспользоватьДанныеНалоговогоУчета*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляНалУчета", "");
			}
			if(true/*ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаПоОстаткамВЭксплуатации = СформироватьТекстЗапросаПоОстаткамВЭксплуатацииРасширеннаяАналитика();
				//ТекстЗапросаПоСписаннымМатериаламИзЭксплуатации = "";
			}
			if(true/*Не ПустаяСтрока(ТекстЗапросаПоСписаннымМатериаламИзЭксплуатации)*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ТекстЗапросаПоСписаннымМатериаламИзЭксплуатации", ТекстЗапросаПоСписаннымМатериаламИзЭксплуатации);
			}
			if(true/*ИспользоватьДанныеУправленческогоУчета*/)
			{
				/*ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамВЭксплуатации,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете
		);*/
				/*ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамВЭксплуатацииУУ",
			ТекстЗапросаПоОстаткам
		);*/
			}
			if(true/*ИспользоватьДанныеБухгалтерскогоУчета*/)
			{
				/*ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамВЭксплуатации,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете
		);*/
				/*ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамВЭксплуатацииБУ",
			ТекстЗапросаПоОстаткам
		);*/
			}
			if(true/*ИспользоватьДанныеНалоговогоУчета*/)
			{
				/*ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамВЭксплуатации,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете
		);*/
				/*ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамВЭксплуатацииНУ",
			ТекстЗапросаПоОстаткам
		);*/
			}
			if(true/*СтруктураОтбора <> Неопределено*/)
			{
				//УсловиеДокПередачи = "";
				//УсловиеПоСроку = "";
				//УсловиеПоМОЛ = "";
				//ВидОтбора = СтруктураОтбора.ВидОтбора;
				if(true/*ВидОтбора = "ПоДокументуПередачи"*/)
				{
					//УсловиеДокПередачи = " И ДокументПередачи = &ДокПередачи ";
				}
				if(true/*Не ПустаяСтрока(УсловиеДокПередачи)*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//УсловиеДокПередачи", УсловиеДокПередачи);
				}
				if(true/*Не ПустаяСтрока(УсловиеПоСроку)*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//УсловиеПоСроку", УсловиеПоСроку);
				}
				if(true/*Не ПустаяСтрока(УсловиеПоМОЛ)*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//УсловиеПоМОЛ", УсловиеПоМОЛ);
				}
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросаПоОстаткамВЭксплуатации(
		ДокументОбъект,
		СтруктураОтбора,
		Запрос
	);*/
			return null;
		}
		// СформироватьЗапросПоОстаткамВЭксплуатации()
		// Процедура формирует таблицу остатков материалов в незавершенном производстве.
		//
		// Параметры:
		//	ДокОбъект - ДокументОбъект - Текущий документ
		//	ТаблицаМатериалы - ТабличнаяЧасть - Табличная часть документа
		//	СтруктураОтбора - Структура - Значения условий отбора остатков
		//	ИмяТабличнойЧасти - Имя табличной части документа
		//

		public void ЗаполнитьМатериалыПоОстаткамВЭксплуатации(/*
	ДокОбъект, 
	ТаблицаМатериалы, 
	СтруктураОтбора = Неопределено,
	ИмяТабличнойЧасти = "Материалы"
	*/)
		{
			//ОтражатьВУправленческомУчете = ДокОбъект.ОтражатьВУправленческомУчете;
			//ОтражатьВБухгалтерскомУчете  = ДокОбъект.ОтражатьВБухгалтерскомУчете;
			//ОтражатьВНалоговомУчете      = ДокОбъект.ОтражатьВНалоговомУчете;
			if(true/*Не ОтражатьВУправленческомУчете
	   И Не ОтражатьВБухгалтерскомУчете
	   И Не ОтражатьВНалоговомУчете*/)
			{
			}
			//ЕстьСчетПередачи = Истина;
			//ЕстьСчетУчета = Истина;
			if(true/*ТипЗнч(ТаблицаМатериалы) = Тип("ТаблицаЗначений")*/)
			{
			}
			/*Запрос = СформироватьЗапросПоОстаткамВЭксплуатации(
		ДокОбъект,
		СтруктураОтбора
		);*/
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//ВалютаУправленческогоУчета = глЗначениеПеременной("ВалютаУправленческогоУчета");
			//ОбходПоНоменклатуре = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			while(true/*ОбходПоНоменклатуре.Следующий()*/)
			{
				//ОбходПоХарактеристикам = ОбходПоНоменклатуре.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				while(true/*ОбходПоХарактеристикам.Следующий()*/)
				{
					//ОбходПоСериям = ОбходПоХарактеристикам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
					while(true/*ОбходПоСериям.Следующий()*/)
					{
						//ОбходПоФизЛицам = ОбходПоСериям.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
						while(true/*ОбходПоФизЛицам.Следующий()*/)
						{
							//ОбходПоНазначению = ОбходПоФизЛицам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
							while(true/*ОбходПоНазначению.Следующий()*/)
							{
								//ОбходПоЕдиницам = ОбходПоНазначению.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
								while(true/*ОбходПоЕдиницам.Следующий()*/)
								{
									//ОбходПоКоэффициенту = ОбходПоЕдиницам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
									while(true/*ОбходПоКоэффициенту.Следующий()*/)
									{
										//ОбходПоДокументу= ОбходПоКоэффициенту.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
										while(true/*ОбходПоДокументу.Следующий()*/)
										{
											//ВсегоКоличество = Макс(ОбходПоДокументу.КоличествоУпр - ОбходПоДокументу.КоличествоСписано, 0);
											if(true/*ОбходПоДокументу.КоличествоУпр <> 0*/)
											{
												//ВсегоСумма = Окр(ВсегоКоличество * ОбходПоДокументу.Сумма / ОбходПоДокументу.КоличествоУпр, 2, 1);
											}
											//ОбходПоСчету = ОбходПоДокументу.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
											while(true/*ОбходПоСчету.Следующий()*/)
											{
												//ВсегоКоличествоБух = Макс(ОбходПоСчету.КоличествоБух - ОбходПоСчету.КоличествоСписано, 0);
												if(true/*ОбходПоСчету.КоличествоБух <> 0*/)
												{
													//ВсегоСуммаБух = Окр(ВсегоКоличествоБух * ОбходПоСчету.СуммаБух / ОбходПоСчету.КоличествоБух, 2, 1);
												}
												if(true/*ОтражатьВБухгалтерскомУчете И ВсегоКоличествоБух = 0*/)
												{
												}
												//Обход = ОбходПоСчету.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
												while(true/*Обход.Следующий()*/)
												{
													if(true/*ОтражатьВНалоговомУчете*/)
													{
														if(true/*НЕ ЗначениеЗаполнено(Обход.СчетУчетаНУ)*/)
														{
														}
														//ТекКоличество = Макс(Обход.КоличествоНал - Обход.КоличествоСписано, 0);
													}
													if(true/*ТекКоличество = 0*/)
													{
													}
													//ТекСумма = Окр(?(ВсегоКоличество <> 0, ТекКоличество * ВсегоСумма / ВсегоКоличество, 0), 2, 1);
													//ТекСуммаРегл = Окр(?(ВсегоКоличествоБух <> 0, ТекКоличество * ВсегоСуммаБух / ВсегоКоличествоБух, 0), 2, 1);
													//ВсегоКоличество = ВсегоКоличество - ТекКоличество;
													//ВсегоСумма = ВсегоСумма - ТекСумма;
													//ВсегоКоличествоБух = ВсегоКоличествоБух - ТекКоличество;
													//ВсегоСуммаБух = ВсегоСуммаБух - ТекСуммаРегл;
													//НоваяСтрока = ТаблицаМатериалы.Добавить();
													//ЗаполнитьЗначенияСвойств(НоваяСтрока, Обход);
													//НоваяСтрока.Количество = ТекКоличество;
													//ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, докОбъект, Истина);
													//НоваяСтрока.Сумма = ТекСумма;
													//НоваяСтрока.СуммаРегл = ТекСуммаРегл;
													if(true/*ОтражатьВУправленческомУчете*/)
													{
														//НоваяСтрока.Цена = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
													}
												}
												/*// по детальным записям
*/
												if(true/*ОтражатьВБухгалтерскомУчете И ВсегоКоличествоБух > 0*/)
												{
													//ТекСумма = Окр(?(ВсегоКоличество <> 0, ВсегоКоличествоБух * ВсегоСумма / ВсегоКоличество, 0), 2, 1);
													//ВсегоКоличество = ВсегоКоличество - ВсегоКоличествоБух;
													//ВсегоСумма = ВсегоСумма - ТекСумма;
													//НоваяСтрока = ТаблицаМатериалы.Добавить();
													//ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоСчету);
													//НоваяСтрока.Количество = ВсегоКоличествоБух;
													//ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, докОбъект, Истина);
													//НоваяСтрока.Сумма = ТекСумма;
													//НоваяСтрока.СуммаРегл = ВсегоСуммаБух;
													if(true/*ЕстьСчетПередачи И ОтражатьВНалоговомУчете*/)
													{
														//НоваяСтрока.СчетПередачиНУ = БухгалтерскийУчет.ПреобразоватьСчетаБУвСчетНУ(Новый Структура("СчетБУ, ", НоваяСтрока.СчетПередачиБУ));
													}
													if(true/*ЕстьСчетУчета И ОтражатьВНалоговомУчете*/)
													{
														//НоваяСтрока.СчетУчетаНУ = БухгалтерскийУчет.ПреобразоватьСчетаБУвСчетНУ(Новый Структура("СчетБУ, ", НоваяСтрока.СчетУчетаБУ));
													}
													if(true/*ОтражатьВУправленческомУчете*/)
													{
														//НоваяСтрока.Цена = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
													}
												}
											}
											/*// по счетам учета
*/
											if(true/*ОтражатьВУправленческомУчете И ВсегоКоличество > 0*/)
											{
												//НоваяСтрока = ТаблицаМатериалы.Добавить();
												//ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоДокументу);
												//НоваяСтрока.Количество = ВсегоКоличество;
												//ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, докОбъект, Истина);
												//НоваяСтрока.Сумма = ВсегоСумма;
												//НоваяСтрока.Цена = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
												if(true/*ОтражатьВБухгалтерскомУчете*/)
												{
													/*НоваяСтрока.СуммаРегл = МодульВалютногоУчета.ПересчитатьВСуммуРегл(
												НоваяСтрока.Сумма, 
												ВалютаРегламентированногоУчета, 
												ВалютаУправленческогоУчета, 
												ДокОбъект.Дата
											);*/
													//СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти(ИмяТабличнойЧасти, НоваяСтрока, ДокОбъект, ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);
												}
											}
										}
										/*// по коэф.
*/
									}
									//;;
								}
								//;;
							}
							//;;
						}
						//;;
					}
					//;;
				}
				//;;
			}
			//;;
		}
		// ЗаполнитьМатериалыПоОстаткамВЭксплуатации()
		// Функция открывает форму выбора условий отбора материалов в эксплуатации
		//

		public object ПолучитьУсловиеОтбораМатериаловВЭксплуатации(/*НачальноеЗначение = Неопределено*/)
		{
			//ОбщФорма = ПолучитьОбщуюФорму("ВводУсловийОтбораМатериаловВЭксплуатации");
			//Список = ОбщФорма.ЭлементыФормы.УсловиеОтбора;
			//Список.СписокВыбора.Очистить();
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.СОкончившимсяСрокомЭксплуатации);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.СНеокончившимсяСрокомЭксплуатации);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.НаходящимисяВЭксплуатацииБолееМесяцев);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.НаходящимисяВЭксплуатацииМенееМесяцев);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.ДоОкончанияСрокаЭксплуатацииБолееМесяцев);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.ДоОкончанияСрокаЭксплуатацииМенееМесяцев);
			//Список.СписокВыбора.Добавить( Перечисления.УсловияОтбораМатериаловВЭксплуатации.МОЛ);
			//Список.Значение = ?( НачальноеЗначение = Неопределено, Перечисления.УсловияОтбораМатериаловВЭксплуатации.СОкончившимсяСрокомЭксплуатации, НачальноеЗначение);
			//ОбщФорма.ЭлементыФормы.КолМесяцев.Значение = 1;
			//Результат = ОбщФорма.ОткрытьМодально();
			return null;
		}
		// ПолучитьУсловиеОтбораМатериаловВЭксплуатации()
		// Функция получает табельные номера физ. лиц с учетом ПодразделенияОрганизации.
		//
		// Параметры:
		//	- Организация   - организация
		//  - Дата          - дата на которую выбираются данные
		//  - МассивФизЛиц  - массив физ. лиц
		//Возвращаемое значение: Соответствие, Ключ = ФизЛицо, Значение = ТабельныйНомер
		//

		public object ПолучитьТабНомера(/* Организация, Дата, МассивФизЛиц*/)
		{
			//СоотвТабНомеров = Новый Соответствие;
			return null;
		}
		// ПолучитьТабНомера()
	}
}
